Entsprechend kann auch auf andere Attribute der Objekte eines Modells (Komponenten, Leitungen, Makros, Wertekreuze, Textfeldern, OLE-Objekt, Grafische Elemente usw.) zugegriffen werden - einige Eigenschaften sind nicht bei allen Objektarten vorhanden:
Syntax |
Beschreibung |
zurückgegebener Datentyp |
Beispiel |
absoluteName | Vollständiger Objektname | String | "::Getriebe::Rechner" |
alignHorz | Horizontale Ausrichtung | TextAlignmentHorizontalEnum | T.alignHorz := TextAlignmentHorizontalRight; |
alignVert | Vertikale Ausrichtung | TextAlignmentVerticalEnum | T.alignVert := TextAlignmentVerticalCenter; |
alwaysDIN | Darstellung nach DIN, klassische Leitungstypen, einige Komponenten | Boolean | T.alwaysDIN := false; |
calcstatus | Berechnungsstatus 0: Komponente deaktiviert, : Komponente wird berechnet, 2: Konponente deaktiviert, aber bei Ausgaben berücksichtigt | Integer | T.calcstatus := 0,1,2; |
calcresultsatiterationstep | true: Ergebnisberechnung auch nach jedem Iterationsschritt | CalculateResultsAtIterationStepEnum | T.calcresultsatiterationstep := CalculateResultsAtIterationStepOnlyLastOne; |
calculationFPROG | ID des benutzerdefinierten Unterprogramms (siehe Vorgabewert FPROG) | Integer | KernelScripting, siehe auch Komponenten 65 und 93 |
calculationKernelScript | Text des zur Komponente erstellen Kernelscripts | String | T.KernelScript := "begin end;"; |
calculationKernelScriptAuxiliaryCalls | KernelScript spezifische Hilfsaufrufe | ComponentCalculationKernelScriptAuxiliaryCallsEnum | T.ComponentCalculationKernelScriptAuxiliaryCall := ComponentCalculationKernelScriptAuxiliaryCallsNo; |
calculationKernelScriptGenerateDefaultEquations | KernelScript spezifisch: Standard-Gleichungen automatisch generieren | ComponentCalculationKernelScriptGenerateDefaultEquationsEnum | T.ComponentCalculationKernelScriptGenerateDefaultEquations := ComponentCalculationKernelScriptGenerateDefaultEquationsYes; |
calculationMode | Berechnungsmodus einer Komponente: Standard, XUI-DLL, KernelScripting |
ComponentCalculationModeEnum | T.ComponentCalculationMode := ComponentCalculationModeInternal: |
calculationSequence | Vorgabewert FSEQ einiger Komponenten, KernelScripting, XUI-DLL | ComponentCalculationSequenceEnum | T.ComponentCalculationSequence := TestLib_AreIntegersEqual_AndExit (T.calculationSequence, ComponentCalculationSequenceParallelToOtherComponents; |
color | Füllungsfarbe der Komponenten (Standard: gelb) | Integer | T.color := $2068FF; // orange |
color2 | Wechselfarbe eine Leitung | Integer | T.color2 := $FF0000; // blau |
color3 | ungenutzt | Integer | T.color3 := $0000FF; // rot |
color4 | Rand eine Kompente (Standard schwarz) | Integer | T.color4 := $D0E040; // hellblau |
containerMacro | Das Makro, in dem ein Bauteil enthalten ist | ebsmacro |
println (Getriebe.containerMacro); |
currentPicture | Index des Bildes, das zur Darstellung eines Objekts genutzt wird | integer | T.currentPicture := 0, 1, 2... ; |
description | Beschreibungstext | String | Messwert.description:="T hinter HD-VW 5"; |
description2 |
Beschreibungstext 2 (z. B. Leittechnik-Kennung) |
String | Messwert.description2:="I0005"; |
description3 | Beschreibungstext 3 (z. B. Verwendungsbereich) | String |
Messwert.description3:="Kessel"; |
description4 | Beschreibungstext 4 (z. B. Kennzeichen) | String | Messwert.description4:="X"; |
disableEbsScriptEvaluation | In Textfeldern die Ausführung von EbsScripten deaktivieren - dann wird der Scripttext ausgegeben. | Boolean | Textfeld.disableEbsScriptEvaluation := true; |
drawBodyStyle | Standardgrafik und/oder Bild anzeigen | DrawBodyStyleEnum | T.DrawBodyStyle := DrawBodyStyleDefaultAndPicture; |
dualmacro |
Gibt die Makroschnittstelle an ein Makro zurück und umgekehrt |
ebsmacrobase | VW2_mit_NK.dualMacro |
fontAutoScale | Objekt- und/oder Fontgröße anpassen - oder keine Anpassung | Integer | Getriebe::Rechner.fontAutoScale := 2; |
fontCol | Schriftfarbe | Integer | T.fontcol := $480048; // Purpur |
fontName | Name der Schriftart | String | println (T.fontName); |
fontPointSize | Größe der Schrift in Points | Integer | T.fontPointSize := 14; |
fontSize | Größe der Schrift | Integer | T.fontSize := -18; |
fullName | Vollständiger Name des Objekts | String | "Getriebe::Rechner" |
htmlAutoResize | Für HTML-Texte: automatische Größenanpassung, so dass der Text vollständidg dargestellt wird | Boolean | Text.htmlAutoResize := true; |
htmlCSS | Das CSS des HTML-Textfeldes | String | Text.htmlCSS:= "h1 {color:mediumseagreen; font-weight:bold; font-size:28pt}"; |
htmlSyntax | Text unverarbeitet ausgeben (false) oder als HTML interpretiert (true) | Boolean | Text.htmlSyntax := true; |
name | Name des Objekts | String | "Rechner" |
parentObject | Das zugehörige Eltern-Objekt (bei Makros) | ebsobject | println (Getriebe::Rechner.parentObject); |
pictureCount | Anzahl der einem Objekt zugeordneten Bilder | Integer | println (Getriebe.pictureCount); |
portCount |
Anzahl der Anschlüsse der Komponente |
Integer | ebscomp(eobject).portCount; |
pipeAtPort |
Leitung, die mit dem angegebenen Anschluss verbunden ist |
ebspipe | ebscomp(eobj).PipeAtPort(port); |
shape | Die Form der Komponente, mit der sie dargestellt wird | Integer | T.shape := 4; |
shapeCount | Anzahl der verfügbaren Formen einer Komponente | Integer | println (Getriebe::Kondensator.shapeCount); |
sortString | Sortierstring für die interne Rechenkern-Objekt-Reihenfolge | String | T.sortString := "bb"; |
text | Der Text der im Textfeld eingegeben wurde. | String | println (Text.text); --> {getfilename()} |
textEvaluated | Der Text der in einem Textfeld angezeigt wird. | String | println (Text.textEvaluated); -->AllProperties.ebs |
textDependsOnProfile | true: unterschiedliche Texte in Profilen möglich | Boolean | Text.textDependsOnProfile := true; |
textFromParentProfile | true: Es wird der Text aus dem Eltern-Profil angezeigt | Boolean | Text.textFromParentProfile := false; |
transientState | transiente bzw. instationäre Berechnung: Dieser eine zeitabhängige Vorgabewert stellt die Bauteil-Ergebnisse aller zeitabhängigen Vorgabewerte diese Bauteils zum Ende eines Zeitschritts als Startwerte für den nächsten Zeitschritt zur Verfügung. | String | println (Getriebe::Kondensator.transientState); |
visible | Sichtbarkeit des Objekts | Integer |
Messwert.visible:=false; // unsichtbar schalten |
width | Breite einer Leitung | Integer | T._1.width := 4; // Leitung an Anschluss 1 auf Breite 4 setzen |
Die Verwendung dieser Syntax ist sowohl mit Ebsvar-Konstanten (direkte Verwendung des Namens des entsprechenden Objekts in der Schaltung) als auch mit Ebsvar-Variablen (im EbsScript definierte Variablen, die auf Objekte in der Schaltung verweisen) möglich. Beispiel:
Wenn es in der Schaltung eine Leitung mit dem Namen H2O_DAMPF_4 gibt und ePipe im EbsScript deklariert ist
var ePipe:ebsPipe;
kann nach der Zuweisung
ePipe:=H2O_DAMPF_4;
sowohl mit
epipe.p
als auch mit
H2O_DAMPF_4.p
auf den Druck dieser Leitung zugegriffen werden.
Dementsprechend kann auch auf andere Attribute der Objekte eines Modells (Komponenten, Linien, Makros, Wertekreuze, Textfelder, OLE-Objekt, grafische Elemente usw.) zugegriffen werden - einige Eigenschaften sind nicht für alle Objekttypen verfügbar.
Syntax |
Beschreibung |
zurückgegebener Datentyp |
Beispiel |
SetDefaultWidth |
Breite des Objekts auf die Standardbreite setzen. Leitung: Linienbreite / Bauteil: Breite des Rahmens |
- | Dampf.setDefaultWidth; |
SetDefaultColor |
Farbe des Objekts auf die Standardfarbe setzen. Leitung: Farbe dje nach Fluid / Bauteil: Farbe der inneren Oberfläche |
- | Efficiency_meter.setDefaultColor; |
SetDefaultColor2 |
Farbe 2 des Objekts auf die Standardfarbe setzen. Leitung: alternierende Fluidfarbe / Bauteil: nicht genutzt |
- | Dampf.setDefaultColor2; |
SetDefaultColor3 |
Farbe 3 des Objekts auf die Standardfarbe setzen. Leitung: nicht verwendet / Bauteil: nicht verwendet |
- | Dampf.setDefaultColor3; |
SetDefaultFont |
Schriftart des Textes des Objekts auf die Standardschriftart setzen. Leitung: nicht verwendet / Bauteil: Schriftart des mit der Komponente angezeigten Textes |
- | Efficiency_meter.setDefaulFont; |
SetDefaultFontColor |
Schriftfarbe des Textes eines Objekts auf die Standard-Schriftfarbe setzen. Leitung: nicht verwendet / Bauteil: Schriftfarbe des mit dem Bauteil angezeigten Textes |
- | Efficiency_meter.setDefaulFontColor; |
SetDefaultFormat | Schriftfarbe des Textes des Objekts auf die Standard-Schriftfarbe setzen: Textfeld: horiz. align:left, verti. align top | - | Textfield.setDefaulFormat; |
PipeAtPort | Abrufen der an dem durch den ersten Parameter angegebenen Anschluss einer Komponente angeschlossenen Leitung | ebspipe | println (Efficiency_meter.PipeAtPort(2)); |
CompViaPipeAtPort | Abrufen von Bauteil ebscomp, das mit dem anderen Ende der Leitung verbunden ist, die mit dem Anschluss der durch den ersten Parameter angegebenen Komponente verbunden ist | ebscomp | println (Efficiency_meter.CompViaPipeAtPort(2)); |
PipeViaPipeAtPort | Abrufen der Leitung ebspipe, die mit dem anderen Ende der Leitung verbunden ist, die an den Port der durch den ersten Parameter angegebenen Komponente angeschlossen ist | ebspipe | println(Power_Summarizer.pipeViaPipeAtPort(1)); |
DataViaPipeAtPort | Abrufen von ebspipe oder ebscomp, die mit dem anderen Ende des Datenstroms verbunden sind, der mit dem Anschluss der durch den ersten Parameter angegebenen Komponente verbunden ist | ebsdata |
println (Efficiency_meter.dataViaPipeAtPort(2)); |
GetEbsValue | Abrufen eines bestimmten Vorgabewertes oder Ergebnisses - 1. Parameter: Name des Wertes (String) | ebsvar | var ev:ebsvar; ev := Kond_1.getEbsValue("KAN"); |
GetEbsArray | Abrufen einer Lennlinie (Characteristic) oder eines Ergebnis-Arrays - 1: Name der Kennlinie (String) | ebscharline | var ec:ebscharline; ec := Kond_1.getEbsArray("CKAM1"); println (ec.x[2]); |
GetEbsMatrix | Abrufen einer Spezifikationsmatrix oder einer Ergebnismatrix - 1. Parameter: Name der Matrix (String) | ebsmatrix | var em:ebsmatrix; em := Kond_1.getEbsMatrix("MXHTCOEFF"); |
GetFamilyOfEbsArrays | Abrufen einer Kennlinien-Familie oder eines Ergebnisfeldes - 1. Parameter: Name der Kennlinien-Familie (String) | ebsfamilyofcharlines | var efoc: ebsfamilyofcharlines; efoc := Generator.getfamilyofebsarrays ("FCOSPHI"); |
Dementsprechend kann auch auf Attribute eines Makros zugegriffen werden
Syntax |
Beschreibung |
Parameter |
zurückgegebener Datentyp |
Beispiel |
PipeAtPortAlias |
Liefert die ebspipe, die außerhalb des Makros an einen Port eines Makros angeschlossen ist. Der Anschluss wird durch seine Kurzbeschreibung angegeben. |
1: string | ebspipe | println(VW1_mit_NK.pipeAtPortAlias("port_named_b")); |
CompViaPipeAtPortAlias |
Liefert die ebscomp, die außerhalb des Makros über eine ebspipe verknüpft ist, die außerhalb an einen Port eines Makros angeschlossen ist. Der Anschluss wird durch seine Kurzbeschreibung angegeben. |
1: string | ebscomp | println (VW1_mit_NK.compViaPipeAtPortAlias("port_named_b")); |
PipeViaPipeAtPortAlias | Liefert die ebspipe, die außerhalb des Makros über eine ebspipe verbunden ist, die außerhalb an einen Port eines Makros angeschlossen ist. Der Anschluss wird durch seine Kurzbeschreibung angegeben. | 1: string | ebspipe | println (VW1_mit_NK.pipeViaPipeAtPortAlias("logic_port")); |
DataViaPipeAtPortAlias | Liefert ein ebsdata-Objekt (ebscomp, ebspipe, ..), das außerhalb des Makros über eine ebspipe verknüpft ist, die außerhalb an einen Port eines Makros angeschlossen ist. Der Anschluss wird durch seine Kurzbeschreibung angegeben. | 1: string | ebsdata | println (VW1_mit_NK.DataViaPipeAtPortAlias("port_named_b")); |
RunEbsscript | Ermöglicht die explizite Ausführung eines der Makro-EbsScripte „Vor der Berechnung“, „Nach der Berechnung“ oder „Übernahme von Sollwerten“. | 1: userCodeType:usercodetypeenum 2: invocation:string = "" |
ebsscriptstatusenum | println (enumtostring (VW1_mit_NK.runEbsScript(UserCodeTypeAfterCalculation))); |
GetObjects | Ermöglicht den Zugriff auf Objekte innerhalb eines Makros, gefiltert nach Typ und danach, ob auch Objekte aus enthaltenen Makros einbezogen werden sollen. | 1: ebsobjecttype:string 2: includeChildContexts:boolean |
array of ebsobject | aeo := VW1_mit_NK.getObjects(); println (length(aeo)); |
var rc: ebsscriptstatusenum;
begin
clrscr;
rc := VW2_mit_NK::MacroInterface.runEbsScript(UserCodeTypeAfterCalculation);
println (enumtostring(rc));
rc := VW1_mit_NK::MacroInterface.runEbsScript(UserCodeTypeBeforeCalculation);
println (enumtostring(rc));
end.
Output of the script:
EbsScriptStatusOk
EbsScriptStatusScriptNotFound
var aeo: array of ebsobject;
eo: ebsobject;
begin
aeo := VW2_mit_NK::MacroInterface.getObjects ("ebspipe", true);
for eo in aeo do begin
println (eo.name);
end;
end.
Output of the script:
H2O_FLUESSIG_16
H2O_FLUESSIG_36
Dampf
Wasser_1
Wasser_2
Wasser_3